/* Filename: few.c
 * Description: few就是fork(),exec(),wait()
 * Last modified: humble 20200322 17:05
 */
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>

static void usage(void);

int main(int argc, char **argv) {
    if(argc != 1){ fprintf(stderr, "argc !=1"); usage(); exit(1); }

    puts("begin");
    fflush(NULL);

    pid_t pid = fork();
    if(pid < 0){ perror("fork()"); exit(1); }
    else if(pid == 0){ // 子进程 这时候date的pid就是子进程，不是父进程的pid了
        execl("/bin/date", "date", "+%s", NULL);
        perror("execl()");
        exit(1);
    }

    // 父进程
    wait(NULL);
    puts("end"); // 此时这里也会打印
    return 0;
}

static void usage(void) {
#define USAGE "Usage:\n\
  Helloworld\n"
    printf(USAGE);
}
